]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell/global: Notify when switcheroo-control prop changes
authorBastien Nocera <hadess@hadess.net>
Tue, 28 Apr 2020 15:36:48 +0000 (17:36 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 4 May 2020 14:22:03 +0000 (16:22 +0200)
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1226

src/shell-global.c

index 2390c711e4f7c43fe552bb53dda0054af13654c3..89f163ff46129bdc7b5e0c8f7b58ca0423d7372a 100644 (file)
@@ -148,6 +148,7 @@ got_switcheroo_control_gpus_property_cb (GObject      *source_object,
 
   global = user_data;
   g_dbus_proxy_set_cached_property (global->switcheroo_control, "GPUs", gpus);
+  g_object_notify (G_OBJECT (global), "switcheroo-control");
 }
 
 static void
@@ -175,7 +176,11 @@ switcheroo_control_ready_cb (GObject      *source_object,
 
   cached_props = g_dbus_proxy_get_cached_property_names (global->switcheroo_control);
   if (cached_props != NULL && g_strv_contains ((const gchar * const *) cached_props, "GPUs"))
-    return;
+    {
+      g_object_notify (G_OBJECT (global), "switcheroo-control");
+      return;
+    }
+  /* Delay property notification until we have all the properties gathered */
 
   g_dbus_connection_call (g_dbus_proxy_get_connection (global->switcheroo_control),
                           g_dbus_proxy_get_name (global->switcheroo_control),
@@ -326,6 +331,7 @@ switcheroo_vanished_cb (GDBusConnection *connection,
 
   g_debug ("switcheroo-control vanished");
   g_clear_object (&global->switcheroo_control);
+  g_object_notify (G_OBJECT (global), "switcheroo-control");
 }
 
 static void